package com.zjdiepu.www.model.yw.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;

import com.zjdiepu.www.base.lang.ZNode;
import com.zjdiepu.www.common.util.CollectionInitUtil;
import com.zjdiepu.www.model.base.dto.SimpleDataDictionary;
import com.zjdiepu.www.model.his.dto.HisYwBusinessBuyer;
import com.zjdiepu.www.model.yw.dto.YwBusinessBuyer;
import com.zjdiepu.www.model.yw.dto.YwBusinessCar;
import com.zjdiepu.www.model.yw.dto.YwBusinessLoan;
import com.zjdiepu.www.model.yw.dto.YwBusinessLoanEdit;
import com.zjdiepu.www.model.yw.dto.YwFees;
import com.zjdiepu.www.model.zx.response.ZxCreditQueryDetail;
/**
 * 项目名称：dpqc-parent-manager-information <br/> 
 * 类名称：YwBusinessInfoResponse <br/>  
 * 类描述： 业务详情响应<br/>    
 * 创建人：xiongxiaotun <br/> 
 * 创建时间：2017年4月26日 上午11:43:15  <br/>   
 * 修改人：xiongxiaotun <br/> 
 * 修改时间：2017年4月26日 上午11:43:15   <br/>  
 * 修改备注：    <br/> 
 * @version V1.0   <br/>
 */
@ApiModel(value="YwBusinessInfoResponse", description="业务详情响应")
public class YwBusinessInfoResponse implements Serializable{
	private static final long serialVersionUID = 1L;
	/**
	 * 身份证：主借人
	 */
	private String cusNo;
	/**
	 * 身份证：配偶
	 */
	private String cusNoPeiOu;
	/**
	 * 身份证：担保人1
	 */
	private String cusNoDanBaoRen1;
	/**
	 * 身份证：担保人2
	 */
	private String cusNoDanBaoRen2;
	/**
	 * 身份证：担保人3
	 */
	private String cusNoDanBaoRen3;
	/**
	 * 身份证：担保人4
	 */
	private String cusNoDanBaoRen4;
	/**
	 * 业务详情
	 */
	@ApiModelProperty(name="ywBusinessDetail",required=false,value="业务详情")
	private YwBusinessDetail ywBusinessDetail;
	
	/**
	 * 征信结果
	 */
	@ApiModelProperty(name="zxCrediQueryDetails",required=false,value="征信结果")
	private Map<String, LinkedHashSet<ZxCreditQueryDetail>> zxCreditQueryDetails = CollectionInitUtil.emptyMap();
	
	/**
	 * 征信结果
	 */
	@ApiModelProperty(name="zxCreditQuerys",required=false,value="征信结果")
	private List<ZxCreditQueryDetail> zxCreditQuerys = CollectionInitUtil.emptyList();
	
	/**
	 * 购车人信息
	 */
	@ApiModelProperty(name="ywBusinessBuyers",required=false,value="购车人信息")
	private Map<String, LinkedHashSet<YwBusinessBuyer>> ywBusinessBuyers = CollectionInitUtil.emptyMap();
	
	/**
	 * 历史购车人信息
	 */
	@ApiModelProperty(name="hisYwBusinessBuyers",required=false,value="历史购车人信息")
	private Map<String, LinkedHashSet<HisYwBusinessBuyer>> hisYwBusinessBuyers = CollectionInitUtil.emptyMap();
	/**
	 * 车辆信息
	 */
	@ApiModelProperty(name="ywBusinessCar",required=false,value="车辆信息")
	private YwBusinessCar ywBusinessCar;
	
	/**
	 * 车贷信息
	 */
	@ApiModelProperty(name="ywBusinessLoan",required=false,value="车贷信息")
	private YwBusinessLoan ywBusinessLoan;
	
	/**
	 * 车辆估价
	 */
	@ApiModelProperty(name="carAreaPrice",required=false,value="车辆估价")
	private String carAreaPrice;
	
	/**
	 * 树结果
	 */
	private List<ZNode> znodes;
	
	/**
	 * 贷款银行
	 */
	private List<SimpleDataDictionary> loanBanks;
	
	/**
	 * 取整模式
	 */
	private List<SimpleDataDictionary> intTypes;
	
	/**
	 * 取整模式
	 */
	private List<SimpleDataDictionary> carTypes;
	/**
	 * 车贷信息
	 */
	@ApiModelProperty(name="ywBusinessLoanEdit",required=false,value="车贷信息")
	private YwBusinessLoanEdit ywBusinessLoanEdit;
	@ApiModelProperty(name="YwFees",required=false,value="反利")
	private YwFees ywFees;
	
	public YwFees getYwFees() {
		return ywFees;
	}
	public void setYwFees(YwFees ywFees) {
		this.ywFees = ywFees;
	}
	public YwBusinessLoanEdit getYwBusinessLoanEdit() {
		return ywBusinessLoanEdit;
	}
	public void setYwBusinessLoanEdit(YwBusinessLoanEdit ywBusinessLoanEdit) {
		this.ywBusinessLoanEdit = ywBusinessLoanEdit;
	}
	public YwBusinessDetail getYwBusinessDetail() {
		return ywBusinessDetail;
	}
	public void setYwBusinessDetail(YwBusinessDetail ywBusinessDetail) {
		this.ywBusinessDetail = ywBusinessDetail;
	}
	
	public Map<String, LinkedHashSet<ZxCreditQueryDetail>> getZxCreditQueryDetails() {
		return zxCreditQueryDetails;
	}
	public void setZxCreditQueryDetails(
			Map<String, LinkedHashSet<ZxCreditQueryDetail>> zxCreditQueryDetails) {
		this.zxCreditQueryDetails = zxCreditQueryDetails;
	}
	
	public List<ZxCreditQueryDetail> getZxCreditQuerys() {
		return zxCreditQuerys;
	}
	public void setZxCreditQuerys(List<ZxCreditQueryDetail> zxCreditQuerys) {
		this.zxCreditQuerys = zxCreditQuerys;
	}
	public Map<String, LinkedHashSet<YwBusinessBuyer>> getYwBusinessBuyers() {
		return ywBusinessBuyers;
	}
	public void setYwBusinessBuyers(
			Map<String, LinkedHashSet<YwBusinessBuyer>> ywBusinessBuyers) {
		this.ywBusinessBuyers = ywBusinessBuyers;
	}
	
	public YwBusinessCar getYwBusinessCar() {
		return ywBusinessCar;
	}
	public void setYwBusinessCar(YwBusinessCar ywBusinessCar) {
		this.ywBusinessCar = ywBusinessCar;
	}
	public YwBusinessLoan getYwBusinessLoan() {
		return ywBusinessLoan;
	}
	public void setYwBusinessLoan(YwBusinessLoan ywBusinessLoan) {
		this.ywBusinessLoan = ywBusinessLoan;
	}
	public String getCarAreaPrice() {
		return carAreaPrice;
	}
	public void setCarAreaPrice(String carAreaPrice) {
		this.carAreaPrice = carAreaPrice;
	}
	
	public List<ZNode> getZnodes() {
		return znodes;
	}
	public void setZnodes(List<ZNode> znodes) {
		this.znodes = znodes;
	}
	
	/**
	 * @author xiongxiaotun <br/>
	 * @Title: put  <br/>
	 * @Description: 添加征信结果 <br/>
	 * @param attachmentSort
	 * @param zxCrediQueryDetail
	 * @version V1.0  <br/>
	 */
	public void addZxCreditQuery(String creditPeopleType, ZxCreditQueryDetail zxCrediQueryDetail) {
		if(null == zxCrediQueryDetail || StringUtils.isBlank(creditPeopleType)) {
			return;
		}
		if(null == zxCreditQueryDetails) {
			zxCreditQueryDetails = CollectionInitUtil.emptyMap();
		}
		LinkedHashSet<ZxCreditQueryDetail> zxCrediQueryDetails_ = zxCreditQueryDetails.get(creditPeopleType);
		if(null == zxCrediQueryDetails_) {
			zxCrediQueryDetails_ = new LinkedHashSet<ZxCreditQueryDetail>();
		}
		zxCrediQueryDetails_.add(zxCrediQueryDetail);
		zxCreditQueryDetails.put(creditPeopleType, zxCrediQueryDetails_);
	}
	/**
	 * @author xiongxiaotun <br/>
	 * @Title: put  <br/>
	 * @Description: 添加购车人 <br/>
	 * @param carManType
	 * @param ywBusinessBuyer
	 * @version V1.0  <br/>
	 */
	public void addYwBusinessBuyer(String carManType, YwBusinessBuyer ywBusinessBuyer) {
		if(null == ywBusinessBuyer || StringUtils.isBlank(carManType)) {
			return;
		}
		if(null == ywBusinessBuyers) {
			ywBusinessBuyers = CollectionInitUtil.emptyMap();
		}
		LinkedHashSet<YwBusinessBuyer> ywBusinessBuyers_ = ywBusinessBuyers.get(carManType);
		if(null == ywBusinessBuyers_) {
			ywBusinessBuyers_ = new LinkedHashSet<YwBusinessBuyer>();
		}
		ywBusinessBuyers_.add(ywBusinessBuyer);
		ywBusinessBuyers.put(carManType, ywBusinessBuyers_);
	}
	/**
	 * @author xiongxiaotun <br/>
	 * @Title: put  <br/>
	 * @Description: 添加历史购车人信息 <br/>
	 * @param carManType
	 * @param hisYwBusinessBuyer
	 * @version V1.0  <br/>
	 */
	public void addHisYwBusinessBuyer(String carManType, HisYwBusinessBuyer hisYwBusinessBuyer) {
		if(null == hisYwBusinessBuyer || StringUtils.isBlank(carManType)) {
			return;
		}
		if(null == hisYwBusinessBuyers) {
			hisYwBusinessBuyers = CollectionInitUtil.emptyMap();
		}
		LinkedHashSet<HisYwBusinessBuyer> ywBusinessBuyers_ = hisYwBusinessBuyers.get(carManType);
		if(null == ywBusinessBuyers_) {
			ywBusinessBuyers_ = new LinkedHashSet<HisYwBusinessBuyer>();
		}
		ywBusinessBuyers_.add(hisYwBusinessBuyer);
		hisYwBusinessBuyers.put(carManType, ywBusinessBuyers_);
	}
	public List<SimpleDataDictionary> getLoanBanks() {
		return loanBanks;
	}
	public void setLoanBanks(List<SimpleDataDictionary> loanBanks) {
		this.loanBanks = loanBanks;
	}
	public List<SimpleDataDictionary> getIntTypes() {
		return intTypes;
	}
	public void setIntTypes(List<SimpleDataDictionary> intTypes) {
		this.intTypes = intTypes;
	}
	public List<SimpleDataDictionary> getCarTypes() {
		return carTypes;
	}
	public void setCarTypes(List<SimpleDataDictionary> carTypes) {
		this.carTypes = carTypes;
	}
	public String getCusNo() {
		return cusNo;
	}
	public void setCusNo(String cusNo) {
		this.cusNo = cusNo;
	}
	public String getCusNoPeiOu() {
		return cusNoPeiOu;
	}
	public void setCusNoPeiOu(String cusNoPeiOu) {
		this.cusNoPeiOu = cusNoPeiOu;
	}
	public String getCusNoDanBaoRen1() {
		return cusNoDanBaoRen1;
	}
	public void setCusNoDanBaoRen1(String cusNoDanBaoRen1) {
		this.cusNoDanBaoRen1 = cusNoDanBaoRen1;
	}
	public String getCusNoDanBaoRen2() {
		return cusNoDanBaoRen2;
	}
	public void setCusNoDanBaoRen2(String cusNoDanBaoRen2) {
		this.cusNoDanBaoRen2 = cusNoDanBaoRen2;
	}
	public String getCusNoDanBaoRen3() {
		return cusNoDanBaoRen3;
	}
	public void setCusNoDanBaoRen3(String cusNoDanBaoRen3) {
		this.cusNoDanBaoRen3 = cusNoDanBaoRen3;
	}
	public String getCusNoDanBaoRen4() {
		return cusNoDanBaoRen4;
	}
	public void setCusNoDanBaoRen4(String cusNoDanBaoRen4) {
		this.cusNoDanBaoRen4 = cusNoDanBaoRen4;
	}
	public Map<String, LinkedHashSet<HisYwBusinessBuyer>> getHisYwBusinessBuyers() {
		return hisYwBusinessBuyers;
	}
	public void setHisYwBusinessBuyers(
			Map<String, LinkedHashSet<HisYwBusinessBuyer>> hisYwBusinessBuyers) {
		this.hisYwBusinessBuyers = hisYwBusinessBuyers;
	}
}
